<?php
include($_SERVER["DOCUMENT_ROOT"] . "/bob.php");
include($_SERVER["DOCUMENT_ROOT"] . "/fonctions_globales.php");
include("fonctions_messagerie.php");
include("verifie_mail_et_mdp.php");
$mysqli = new_mysqli($host, $user, $password, $database); //connection à la DB

$idmec = get_num(@$_GET['id']);
if (empty($_SESSION['login']) || (@$_SESSION['id'] != $idmec && @$_SESSION['grad'] != "admin")) {
    header("Location: /");
    exit();
}

if ((@$_POST['new_mdp'] != "" || @$_POST['up_infos'] != "" || @$_POST['up_avatar'] != "") && $_POST['idefix'] != md5(session_id() . $_SESSION['id'])) {
    echo "Il semblerai que vous ayez été victime d'une tentative de piratage. 
La page où vous étiez précédemment a été créée pour détourner votre session.";
    exit;
}

$oki = "";
$error = "";
$oki_param = "";
$error_param = "";
if (isset($_POST['new_mdp'])) {
    $nmdp = $_POST['nmdp'];
    $amdp = $_POST['amdp'];
    $cnmdp = $_POST['cmdp'];
    if ($nmdp != $cnmdp)
        $error_param = "Veuillez entrer deux fois le même mot de passe";
    else {
        $infos = get_line_in_db($mysqli, "gens", "user_id", $idmec);
        if (strlen($infos['user_password']) < 33)
            $amdp = md5($_POST['amdp']);
        else
            $amdp = hash("sha256", $infos['user_regdate'] . $_POST['amdp']);
        if ($infos == NULL || $amdp == "" || $amdp != $infos['user_password'])
            $error_param = "L'ancien mot de passe est incorrect";
        else {
            $nmdp = hash("sha256", $infos['user_regdate'] . $_POST['nmdp']);
            mysqli_query_with_error($mysqli, "UPDATE gens SET user_password='$nmdp' WHERE user_id='$idmec'");
            $oki_param = "Nouveau mot de passe enregistré!";
        }
    }
}

//var_dump($_POST);
if (isset($_POST['up_infos'])) {
    if (isset($_POST['cmail'])){
        $cachmail=0;
    }else{
        $cachmail = 1;
    }
    $mail = $mysqli->real_escape_string(get_data_ss_tag($_POST['mail']));
    $desc = $mysqli->real_escape_string(get_data_ss_tag($_POST['description']));
    $site = $mysqli->real_escape_string(get_data_ss_tag($_POST['site']));
    $sign = $mysqli->real_escape_string(get_data_ss_tag($_POST['signature']));
    $chemin_avatar = $mysqli->real_escape_string(get_data_ss_tag($_POST['chemin_avatar']));
    $chemin_avatar_min = $mysqli->real_escape_string(get_data_ss_tag($_POST['chemin_avatar_min']));
    if (isset($_POST['range'])){
        $titre = $mysqli->real_escape_string(get_data_ss_tag($_POST['range']));
    }else{
        $titre="";
    }

    mysqli_query_with_error($mysqli, "UPDATE gens SET user_email='$mail', user_desc='$desc', couleur='" . get_num($_POST['couleur']) . "',
		  user_website='$site', user_viewemail='$cachmail', user_sig='$sign' , user_avatar='$chemin_avatar', user_avatar_min='$chemin_avatar_min', user_titre='$titre' WHERE user_id='$idmec'");

    $oki = "Modifications enregistrées avec succès !";

    if (@$_SESSION['grad'] == "admin")
        mysqli_query_with_error($mysqli, "UPDATE gens SET user_titre='" . get_num($_POST['range']) . "' WHERE user_id='$idmec'");
}

$bob = get_line_in_db($mysqli, "gens", "user_id", $idmec); //recherche sur le gens
$blaze = get_data_propre_sortie_db($bob['username']);
main_body($mysqli, "Edition de profil", "bandeau;profil;edition");
?>
<script language="Javascript">

    function apply_color(color_id) {
        var couleur = get_color(color_id);        
        document.getElementById('user_couleur').style.backgroundColor = couleur;
        $('#avatar_profil').css('background-color',couleur);
        $('#btn_modifier_avatar').attr('href',"javascript:afficher_popup('popup/get_avatar.php?idcouleur="+color_id+"',500)");
        
        
    }

    function verif_formulaire() {
        var retour = !verif_site_perso();
        retour += !verif_adresse_mail();
        retour += !verif_wysiwyg('description');
        retour += !verif_wysiwyg('signature');
        if (retour > 0) {
            return false;
        } else {
            return true;
        }

    }


    //Vérification des champs

    //Site perso
    function verif_site_perso() {


        if (document.getElementById('site_perso').value != "") {
            if (isUrl(document.getElementById('site_perso').value)) {
                //OK
                if (hasClass(document.getElementById('site_perso'), 'feedback_negatif')) {
                    $('#site_perso').toggleClass('feedback_negatif');
                }

                if (!hasClass(document.getElementById('site_perso'), 'feedback_positif')) {
                    $('#site_perso').toggleClass('feedback_positif');
                }
                document.getElementById('feedback_site_perso').innerHTML = '';

                return true;
            } else {
                //Pas OK

                if (hasClass(document.getElementById('site_perso'), 'feedback_positif')) {
                    $('#site_perso').toggleClass('feedback_positif');
                }
                if (!hasClass(document.getElementById('site_perso'), 'feedback_negatif')) {
                    $('#site_perso').toggleClass('feedback_negatif');
                }


                document.getElementById('feedback_site_perso').innerHTML = 'URL invalide';
                return false;
            }
        } else {
            if (hasClass(document.getElementById('site_perso'), 'feedback_negatif')) {
                $('#site_perso').toggleClass('feedback_negatif');
            }

            if (hasClass(document.getElementById('site_perso'), 'feedback_positif')) {
                $('#site_perso').toggleClass('feedback_positif');
            }
            document.getElementById('feedback_site_perso').innerHTML = '';
            return true;
        }
    }

    function verif_adresse_mail() {

        if (isEmail(document.getElementById('adresse_mail').value) && document.getElementById('adresse_mail').value != "") {
            //OK
            if (hasClass(document.getElementById('adresse_mail'), 'feedback_negatif')) {
                $('#adresse_mail').toggleClass('feedback_negatif');
            }

            if (!hasClass(document.getElementById('adresse_mail'), 'feedback_positif')) {
                $('#adresse_mail').toggleClass('feedback_positif');
            }
            document.getElementById('feedback_adresse_mail').innerHTML = '';

            return true;
        } else {
            //Pas OK

            if (hasClass(document.getElementById('adresse_mail'), 'feedback_positif')) {
                $('#adresse_mail').toggleClass('feedback_positif');
            }
            if (!hasClass(document.getElementById('adresse_mail'), 'feedback_negatif')) {
                $('#adresse_mail').toggleClass('feedback_negatif');
            }
            document.getElementById('feedback_adresse_mail').innerHTML = 'Adresse email invalide';
            return false;
        }

    }


    function verif_wysiwyg(id_wysiwyg) {
        if (document.getElementById(id_wysiwyg).value != "") {
            if (document.getElementById(id_wysiwyg).value.split("\n").length <= 5 && document.getElementById(id_wysiwyg).value.length<=500) {
                //OK
                if (hasClass(document.getElementById(id_wysiwyg), 'feedback_negatif')) {
                    $('#' + id_wysiwyg).toggleClass('feedback_negatif');
                }

                if (!hasClass(document.getElementById(id_wysiwyg), 'feedback_positif')) {
                    $('#' + id_wysiwyg).toggleClass('feedback_positif');
                }
                document.getElementById('feedback_' + id_wysiwyg).innerHTML = '';

                return true;
            } else {
                //Pas OK

                if (hasClass(document.getElementById(id_wysiwyg), 'feedback_positif')) {
                    $('#' + id_wysiwyg).toggleClass('feedback_positif');
                }
                if (!hasClass(document.getElementById(id_wysiwyg), 'feedback_negatif')) {
                    $('#' + id_wysiwyg).toggleClass('feedback_negatif');
                }
                if (document.getElementById(id_wysiwyg).value.length<=500){
                    document.getElementById('feedback_' + id_wysiwyg).innerHTML = 'Pas plus de 500 caractères, ok ?';
                }else{
                    document.getElementById('feedback_' + id_wysiwyg).innerHTML = 'Allons-y mollo sur les retours ligne, ok ?';
                }
                return false;
            }
        } else {
            if (hasClass(document.getElementById(id_wysiwyg), 'feedback_negatif')) {
                $('#' + id_wysiwyg).toggleClass('feedback_negatif');
            }

            if (hasClass(document.getElementById(id_wysiwyg), 'feedback_positif')) {
                $('#' + id_wysiwyg).toggleClass('feedback_positif');
            }
            document.getElementById('feedback_' + id_wysiwyg).innerHTML = '';
            return true;
        }
    }

    function verif_formulaire_parametres() {
        var retour = !verif_mdp_actuel();
        retour += !verif_mdp('mdp_new');
        retour += !verif_mdp('mdp_confirm');
        if (retour > 0) {
            return false;
        } else {
            return true;
        }
    }
    function verif_mdp_actuel() {
        var result = "Impossible de vérifier le mot de passe";
        $.ajaxSetup({async: false});
        $.get('ajax/check_mdp.php', {motpasse: $('#mdp').val()},
        function(data) {
            result = data;
        }
        );
        $.ajaxSetup({async: true});
        if (result !== "OK") {
            if (!hasClass(document.getElementById('mdp'), 'feedback_negatif')) {
                $('#mdp').toggleClass('feedback_negatif');
            }
            if (hasClass(document.getElementById('mdp'), 'feedback_positif')) {
                $('#mdp').toggleClass('feedback_positif');
            }

            document.getElementById('feedback_mdp').innerHTML = result;

            return false;
        } else {
            if (hasClass(document.getElementById('mdp'), 'feedback_negatif')) {
                $('#mdp').toggleClass('feedback_negatif');
            }
            if (!hasClass(document.getElementById('mdp'), 'feedback_positif')) {
                $('#mdp').toggleClass('feedback_positif');
            }
            document.getElementById('feedback_mdp').innerHTML = "";
            return true;
        }

    }
    function verif_mdp(champs_id) {

        if (document.getElementById(champs_id).value == "" || document.getElementById(champs_id).value.length < 6) {

            if (!hasClass(document.getElementById(champs_id), 'feedback_negatif')) {
                $('#' + champs_id).toggleClass('feedback_negatif');
            }
            if (hasClass(document.getElementById(champs_id), 'feedback_positif')) {
                $('#' + champs_id).toggleClass('feedback_positif');
            }

            document.getElementById('feedback_' + champs_id).innerHTML = "Mot de passe incorrect (minimum 6 caractères)";
            return false;
        } else {

            if (hasClass(document.getElementById(champs_id), 'feedback_negatif')) {
                $('#' + champs_id).toggleClass('feedback_negatif');
            }
            if (!hasClass(document.getElementById(champs_id), 'feedback_positif')) {
                $('#' + champs_id).toggleClass('feedback_positif');
            }

            document.getElementById('feedback_' + champs_id).innerHTML = "";
            return true;
        }
    }

<?php
echo javascript_mail_n_mdp("formul", "formul_passe");
?>
</script>
<?php
//---------------------------------------------------------------------

$user_email = get_data_propre_sortie_db($bob['user_email']);
$desc = get_data_propre_sortie_db($bob['user_desc']);
$user_website = get_data_propre_sortie_db($bob['user_website']);
$user_sig = get_data_propre_sortie_db($bob['user_sig']);
display_bandeau_profil($mysqli,"edit");
?>

<div id='background_corps'> </div><!-- Div contenant simplement la couleur du corps, qui vient se glisser sous le motif de bulle
                                                                                        (le vrai corp se glisse au-dessus, pour être cliquable). -->
<div id="corps">
    <div id="contenus">
        <p class="feedback">
        <?php
        if ($oki != "") {          
            echo $oki;            
        }
        if ($error != "") {          
             echo $erreur;          
        }        
        ?>
        </p>
        <form action="profiledit.php?id=<?php echo $idmec ?>" method="post" onsubmit="return verif_formulaire();" id="bloc_haut">
            <input type='hidden' name='idefix' value='<?php echo md5(session_id() . $_SESSION['id']) ?>'> 
            <div class="colonne gauche">
                <div class="avatar">
                    <h3 class="petit_titre ombre">Avatar</h3>
                    <?php
                    echo get_avatar($bob['user_avatar'], $bob['couleur'], 'avatar_profil');
                    ?>
                    <a id='btn_modifier_avatar' class="btn_modif ombre" href="javascript:afficher_popup('popup/get_avatar.php?idcouleur=<?php echo $bob['couleur'] ?>',500)">Modifier</a>
                </div>
                <h3 class="moyen_titre ombre">Modifier le titre</h3>
                <select style="width: 302px; height: 35px; font-size: 14px" name="range">
                    <?php
                    $rqt_titres="SELECT * FROM titres_debloques as pd LEFT JOIN titres as p ON p.titre_id=pd.titre_id WHERE pd.user_id=".$_SESSION['id'];
                    $result = mysqli_query_with_error($mysqli, $rqt_titres);
                    while ($titre = $result->fetch_assoc()) { 
                        echo "<option value='{$titre['titre_id']}'";
                            if ($titre['titre_id'] == $bob['user_titre'])
                                        echo " selected";
                            echo ">{$titre['titre_name']}</option>";
                    }
                    ?>
                </select>

                <h3 class="moyen_titre marge_absolue ombre">Modifier la couleur</h3>
                <div id="user_couleur" style="background-color: <?php echo get_color($bob['couleur']) ?>"></div>
                <select id="select_couleur" style="width: 302px; height: 35px; font-size: 14px" onchange="apply_color(document.getElementById('select_couleur').value);
                        return false;" name="couleur" >
                            <?php
                            if (file_exists($_SERVER["DOCUMENT_ROOT"] . '/jeu/bibli/db/couleurs.xml')) {
                                $xml = simplexml_load_file($_SERVER["DOCUMENT_ROOT"] . '/jeu/bibli/db/couleurs.xml');
                                foreach ($xml->color as $color) {
                                    if ($color['masque']=="false"){
                                    echo"<option style='background-color:#" . substr($color['hexa'], 2) . ";' value='{$color['id']}'";
                                    if ($color['id'] == $bob['couleur'])
                                        echo " selected";
                                    echo ">" . $color['name'] . "</option>";
                                    }
                                }
                            }
                            ?>

                </select>


                <h3 class="moyen_titre marge_absolue ombre">Modifier la bannière</h3>
                <!--<a class="btn_modif banniere ombre" href="#">Modifier</a>-->
                <input id="chemin_avatar" type="hidden" name="chemin_avatar" value="<?php echo $bob['user_avatar'] ?>" />
                <input id="chemin_avatar_min" type="hidden" name="chemin_avatar_min" value="<?php echo $bob['user_avatar_min'] ?>" />
                <img class="banniere" src="../images/profil/bannieres/banniere1.png" alt="une banniere avec un dégradé vert"/><!-- est ce qu'on créé un texte alternatif pour chaque banniere ??? -->

                <h3 class="grand_titre ombre">Modifier le site perso</h3>
                <input id="site_perso" class="texte" type="text" name="site" onchange="verif_site_perso()" value="<?php echo $bob['user_website'] ?>" maxlength="80"></input>
                <p id="feedback_site_perso" class="feedback"></p><br/>

                <h3 class="grand_titre ombre">Changer l'adresse email</h3>
                <input id="adresse_mail" class="texte" type="text" onchange="verif_adresse_mail()" name="mail" value="<?php echo $bob['user_email'] ?>" maxlength="80"></input>
                <div class="cacher_mail">                    
                    <input type="checkbox" name="cmail" value="1" id="cacher_mail"
                           <?php 
                           if ($bob['user_viewemail']==0){
                               echo ' CHECKED';
                           }
                           ?>                           
                           ><label for="cacher_mail">Cacher mon adresse email</label>
                    <p id="feedback_adresse_mail" class="feedback"></p>
                </div>

            </div>
            <div class="colonne droite">

                <h3 class="grand_titre ombre">Modifier la description</h3>
                <textarea id="description" onchange="verif_wysiwyg('description')" name="description" class="wysiwyg"><?php echo $bob['user_desc'] ?></textarea>
                <p id="feedback_description" class="feedback"></p>
                <h3 class="grand_titre ombre">Modifier la signature</h3>
                <textarea id="signature" class="wysiwyg" onchange="verif_wysiwyg('signature')" name="signature"><?php echo $bob['user_sig'] ?></textarea>
                <p id="feedback_signature" class="feedback"></p>
                <div class="envoyer">
                    <input type="submit" name="up_infos" value="Enregistrer">
                </div>
            </div>
        </form>
        <p class="feedback">
        <?php
        if ($oki_param != "") {          
            echo $oki_param;            
        }
        if ($error_param != "") {          
             echo $error_param;          
        }        
        ?>
        </p>
        <h3 class="ombre">Changer de mot de passe</h3>
        <form action="profiledit.php?id=<?php echo $idmec ?>" method="post" onsubmit="return verif_formulaire_parametres();" id="bloc_bas">
            <input type='hidden' name='idefix' value='<?php echo md5(session_id() . $_SESSION['id']) ?>'> 
            <div class="colonne gauche">
                <label for="mdp">Votre mot de passe actuel</label>
                <input class="texte" onchange="verif_mdp_actuel()"  type="password" id="mdp" name="amdp" value="" maxlength="80"></input>
                <p class="feedback" id="feedback_mdp"> </p>
                <label for="mdp_new">Nouveau mot de passe</label>
                <input class="texte" onchange="verif_mdp('mdp_new')" type="password" id="mdp_new" name="nmdp" value="" maxlength="80"></input>
                <p class="feedback" id="feedback_mdp_new"></p>


                <label for="mdp_confirm">Confirmez votre nouveau mot de passe</label>
                <input class="texte droit" onchange="verif_mdp('mdp_confirm')" type="password" id="mdp_confirm" name="cmdp" value="" maxlength="80"></input>
                <p class="feedback" id="feedback_mdp_confirm"></p>
            </div>
            <div class="colonne droite">
                <div class="envoyer droit">
                    <input type="submit" name="new_mdp" value="Enregistrer">
                </div>
            </div>
        </form><!-- bloc bas -->

    </div> <!-- fin div contenu-->
</div> <!-- fin div corps-->

<?php
show_footer();
